package DataStructure.Queue;

import java.util.Deque;
import java.util.LinkedList;

/**
 * @Author：DijaH
 * @Date：2023/2/25 11:34 上午
 * @Version：1.0.0
 * @Description： 使用栈实现一个队列
 */
public class StackToQueue {

    //使用两个栈
    private Deque<Integer> stack1 = new LinkedList<>();
    private Deque<Integer> stack2 = new LinkedList<>();

    public StackToQueue(){}

    //push 的时候放到stack1中
    public void push(Integer x){
        stack1.push(x);
    }

    //从队列的头拿出数据
    public int pop(){
        if(stack2.isEmpty()){
            while(!stack1.isEmpty()){
                int e = stack1.pop();

                stack2.push(e);
            }
        }
        return stack2.pop();
    }

    //判断是否为空
    public boolean isEmpty(){
        return stack2.isEmpty() && stack1.isEmpty();
    }

    public static void main(String[] args) {

    }
}
